/*
 * op_pila.cpp
 *
 *  Created on: 23/ott/2014
 *      Author: Gabriel
 */

#include "pila.h"
#include <iostream>
using namespace std;

void Pila::creaPila(){
    testa=-1;
}
boolean Pila::pilaVuota(){
    return testa<0;
}
tipoelem Pila::leggiPila(){
    return elementi[testa];
}
void Pila::inPila(tipoelem elemento){
    if (testa<MAXELEM){
    	testa++;
		elementi[testa]=elemento;
    }
    else
    	cout<<"Numero massimo di elementi raggiunto, impossibile inserire."<<endl;
}
void Pila::fuoriPila(){
	if(testa>=0) testa--;
}
void Pila::stampaPila(Pila pila){
	Pila tempPila;

	    while (!pila.pilaVuota()) {
	        tempPila.inPila(pila.leggiPila());
	        pila.fuoriPila();
	    }
	    while (!tempPila.pilaVuota()) {
	        cout << tempPila.leggiPila() << endl;
	        pila.inPila(tempPila.leggiPila());
	        tempPila.fuoriPila();
	    }
}
Pila::Pila(){
    creaPila();
}
Pila::~Pila(){
};
